package ar.com.sectorwine.dto;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import ar.com.sectorwine.entities.Users;
import ar.com.sectorwine.repository.UsuariosDAO;

@Repository
public class UsuarioABMDTOMapper {

	@Autowired
	UsuariosDAO usuariosDAO;

	public Users obtenerObjetoDelDominioDesdeDTO(UsuarioABMDTO usuarioDTO) {

		Users usuario = usuariosDAO.findByUserName(usuarioDTO.getUsername());
		if (usuario != null) {
			usuario.setUsername(usuarioDTO.getUsername());
			usuario.getPerfilUsuario().setCargo(usuarioDTO.getCargo());
			usuario.setNombre(usuarioDTO.getNombre());
			usuario.setApellido(usuarioDTO.getApellido());
			usuario.getPerfilUsuario().setTelefonoFijo(usuarioDTO.getTelefonoFijo());
			usuario.getPerfilUsuario().setTelefonoMovil(usuarioDTO.getTelefonoMovil());
			return usuario;
		}else {
			return null;
		}
		
	}

	public UsuarioABMDTO obtenerDTODesdeObjetoDelDominio(Users usuario) {

		UsuarioABMDTO usuarioABMDTO = new UsuarioABMDTO();
				
		usuarioABMDTO.setUsername(usuario.getUsername());
		usuarioABMDTO.setCargo(usuario.getPerfilUsuario().getCargo());
		usuarioABMDTO.setNombre(usuario.getNombre());
		usuarioABMDTO.setApellido(usuario.getApellido());
		usuarioABMDTO.setTelefonoFijo(usuario.getPerfilUsuario().getTelefonoFijo());
		usuarioABMDTO.setTelefonoMovil(usuario.getPerfilUsuario().getTelefonoMovil());

		return usuarioABMDTO;

	}

}
